/*
 * CommunicationADP.cpp
 *
 *  
 */

#include "CommunicationADP.h"

namespace middleware {

const std::string middleware::CommunicationADP::ADP_QUEUE_PATH = "/tmp/adpqueue";
const char middleware::CommunicationADP::ADP_QUEUE_PRODUCTOS_KEY = 'a';

CommunicationADP::CommunicationADP() : colaRecepcion(ipc::MessageQueue<ProductoCantidad>::get(ADP_QUEUE_PATH, ADP_QUEUE_PRODUCTOS_KEY)) {}

void CommunicationADP::create(){
	ipc::MessageQueue<ProductoCantidad>::create(ADP_QUEUE_PATH, ADP_QUEUE_PRODUCTOS_KEY);
}

void CommunicationADP::destroy(){
	ipc::MessageQueue<ProductoCantidad>::destroy(ADP_QUEUE_PATH, ADP_QUEUE_PRODUCTOS_KEY);
}

void CommunicationADP::producir(ProductoCantidad& productos) {
	colaRecepcion.put(ADP_TIPO_PRODUCCION, productos);
}

ProductoCantidad CommunicationADP::obtenerAProducir() {
	return colaRecepcion.get(ADP_TIPO_PRODUCCION);
}

CommunicationADP::~CommunicationADP() {}

} /* namespace middleware */
